export enum Scope {
  Singleton = 'singleton',
  Transient = 'transient'
}

export type Clazz<T> = new (...args: any[]) => T

export interface Provider<T> {
  clazz?: Clazz<T>
  scope: Scope
}